package com.youlai.boot.food.model.form;

import java.io.Serial;
import java.io.Serializable;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;
import jakarta.validation.constraints.*;

/**
 * 食物数据表单对象
 *
 * @author cuisheng
 * @since 2025-03-30 16:17
 */
@Getter
@Setter
@Schema(description = "食物数据表单对象")
public class SysFoodInfoForm implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    @Schema(description = "id")
    @NotNull(message = "id不能为空")
    private Integer id;

    @Schema(description = "名称")
    @Size(max=255, message="名称长度不能超过255个字符")
    private String name;

    @Schema(description = "一级分类编码")
    private Integer firstCode;

    @Schema(description = "二级分类编码")
    private Integer secondCode;

    @Schema(description = "食部(%)")
    private Double ediblePortion;

    @Schema(description = "水分(g)")
    private Double water;

    @Schema(description = "能量（千卡）")
    private Double energyKcal;

    @Schema(description = "能量（千焦）")
    private Double energyKj;

    @Schema(description = "蛋白质(g)")
    private Double protein;

    @Schema(description = "脂肪(g)")
    private Double fat;

    @Schema(description = "碳水化物(g)")
    private Double carbohydrate;

    @Schema(description = "膳食纤维(g)")
    private Double fiber;

    @Schema(description = "胆固醇(mg)")
    private Double cholesterol;

    @Schema(description = "灰分(g)")
    private Double ash;

    @Schema(description = "维生素A(μgRE)")
    private Double vitaminA;

    @Schema(description = "硫胺素(mg)")
    private Double thiamine;

    @Schema(description = "核黄素(mg)")
    private Double riboflavin;

    @Schema(description = "维生素B6(mg)")
    private Double vitaminB6;

    @Schema(description = "维生素B12(mg)")
    private Double vitaminB12;

    @Schema(description = "叶酸(ug)")
    private Double folate;

    @Schema(description = "烟碱(mg)")
    private Double niacin;

    @Schema(description = "维生素C(mg)")
    private Double vitaminC;

    @Schema(description = "维生素E(mg)")
    private Double vitaminE;

    @Schema(description = "钙(mg)")
    private Double calcium;

    @Schema(description = "磷(mg)")
    private Double phosphorus;

    @Schema(description = "钾(mg)")
    private Double potassium;

    @Schema(description = "钠(mg)")
    private Double sodium;

    @Schema(description = "镁(mg)")
    private Double magnesium;

    @Schema(description = "铁(mg)")
    private Double iron;

    @Schema(description = "锌(mg)")
    private Double zinc;

    @Schema(description = "硒(mg)")
    private Double selenium;

    @Schema(description = "铜(mg)")
    private Double copper;

    @Schema(description = "锰(mg)")
    private Double manganese;

    @Schema(description = "碘(mg)")
    private Double lodine;

    @Schema(description = "胡萝卜素(μg)")
    private Double carotene;

    @Schema(description = "视黄醇(μg)")
    private Double retinol;

    @Schema(description = "尼克酸/烟酸(mg)")
    private Double niacinOrNiacin;

    @Schema(description = "α-维生素E(mg)")
    private Double αTocopherol;


}
